#ifndef EVENT_H
#define EVENT_H
#include "entry.h"
#include <sstream>
#include <string>
class Event :
	public Entry
{
	QDate _startDate;
	QTime _startTime;
	static const string MSG_OUTPUT;
	bool _statusCompleted;
	
public:
	static const int NUM_ATTRIBUTES=6;
	static const string TYPE_ENTRY;
	Event(void);
	Event(const Entry*);
	Event(string, QDate, QTime, QDate, QTime, bool);
	~Event(void);
	bool isEmpty();
	QDate getStartDate() const;
	QTime getStartTime() const;
	bool isConflict(Entry*);
	string toString();
	static Event fromString(string);
	bool operator==(Entry*);
	bool setDone();
	bool getStatus() const;
	bool isOngoingOrNot(QDateTime = QDateTime::currentDateTime()) const; //check whether an event is currently ongoing.
	void setStartDate(QDate);
	void setStartTime(QTime);
	string getStatusString() const;
	string getEntryType() const;
	string getSearchString() const;
	int getAttributeCount() const;
	enum STATUS_TYPE_EVENT{
		NOT_DONE, DONE
	};
	string sendStatusEvent(STATUS_TYPE_EVENT status) const;
//	void setName(string);
};

#endif